package com.petdog.module.tools.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.petdog.infrastructure.entity.BehaviorGuide;
import com.petdog.infrastructure.entity.BehaviorTag;
import com.petdog.infrastructure.entity.BehaviorWiki;
import com.petdog.module.tools.dto.BehaviorGuideDTO;
import com.petdog.module.tools.dto.BehaviorWikiDTO;
import com.petdog.module.tools.dto.GetBehaviorGuidesRequest;
import com.petdog.module.tools.dto.SearchBehaviorGuideRequest;
import java.util.List;

public interface BehaviorGuideService {
    // 获取指南列表
    Page<BehaviorGuideDTO> getBehaviorGuides(GetBehaviorGuidesRequest request);
    
    // 获取指南详情
    BehaviorGuideDTO getBehaviorGuideDetail(Long guideId);
    
    // 搜索指南
    Page<BehaviorGuideDTO> searchBehaviorGuides(SearchBehaviorGuideRequest request);
    
    // 获取所有标签
    List<BehaviorTag> getAllTags();
    
    // 获取热门指南
    List<BehaviorGuideDTO> getHotGuides(Integer limit);
    
    // 获取个性化推荐指南
    List<BehaviorGuideDTO> getRecommendGuides(Long userId, Integer limit);
    
    // 获取行为百科
    BehaviorWikiDTO getBehaviorWiki(String behaviorName);
    
    // 获取搜索建议
    List<String> getSearchSuggestions(String prefix, Integer limit);
    
    // 记录用户浏览历史
    void recordUserHistory(Long userId, Long guideId);
    
    // 更新浏览时长
    void updateViewDuration(Long userId, Long guideId, Integer duration);
}